<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qquickanimatedimage.cpp -->
  <title>AnimatedImage QML 类型 | Qt Quick 5.12.3</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="../qtdoc/index.html">Qt 5.12</a></td><td ><a href="qtquick-index.html">Qt Quick 模块</a></td><td ><a href="qtquick-qmlmodule.html">QML类型</a></td><td >AnimatedImage QML 类型</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="qtquick-index.html">Qt 5.12.3 参考指南</a></td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">目录</a></h3>
<ul>
<li class="level1"><a href="#properties">属性</a></li>
<li class="level1"><a href="#details">详细信息</a></li>
<li class="level2"><a href="#example-usage">示例用法</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">AnimatedImage QML 类型</h1>
<span class="subtitle"></span>
<!-- $$$AnimatedImage-brief -->
<p>Plays animations stored as a series of images. <a href="#details">更多...</a></p>
<!-- @@@AnimatedImage -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> 导入语句：</td><td class="memItemRight bottomAlign"> import QtQuick 2.12</td></tr><tr><td class="memItemLeft rightAlign topAlign">继承自：</td><td class="memItemRight bottomAlign"> <p><a href="qml-qtquick-image.html">Image</a></p>
</td></tr></table></div><ul>
<li><a href="qml-qtquick-animatedimage-members.html">所有成员的列表，包括继承成员</a></li>
</ul>
<a name="properties"></a>
<h2 id="properties">属性</h2>
<ul>
<li class="fn"><b><b><a href="qml-qtquick-animatedimage.html#currentFrame-prop">currentFrame</a></b></b> : int</li>
<li class="fn"><b><b><a href="qml-qtquick-animatedimage.html#frameCount-prop">frameCount</a></b></b> : int</li>
<li class="fn"><b><b><a href="qml-qtquick-animatedimage.html#paused-prop">paused</a></b></b> : bool</li>
<li class="fn"><b><b><a href="qml-qtquick-animatedimage.html#playing-prop">playing</a></b></b> : bool</li>
<li class="fn"><b><b><a href="qml-qtquick-animatedimage.html#source-prop">source</a></b></b> : url</li>
<li class="fn"><b><b><a href="qml-qtquick-animatedimage.html#speed-prop">speed</a></b></b> : real</li>
</ul>
<!-- $$$AnimatedImage-description -->
<a name="details"></a>
<h2 id="details">详细信息</h2>
<p>The <a href="qml-qtquick-animatedimage.html">AnimatedImage</a> type extends the features of the <a href="qml-qtquick-image.html">Image</a> type, providing a way to play animations stored as images containing a series of frames, such as those stored in GIF files.</p>
<p>Information about the current frame and total length of the animation can be obtained using the <a href="qml-qtquick-animatedimage.html#currentFrame-prop">currentFrame</a> and <a href="qml-qtquick-animatedimage.html#frameCount-prop">frameCount</a> properties. You can start, pause and stop the animation by changing the values of the <a href="qml-qtquick-animatedimage.html#playing-prop">playing</a> and <a href="qml-qtquick-animatedimage.html#paused-prop">paused</a> properties.</p>
<p>The full list of supported formats can be determined with <a href="../qtgui/qmovie.html#supportedFormats">QMovie::supportedFormats()</a>.</p>
<a name="example-usage"></a>
<h2 id="example-usage">示例用法</h2>
<div style="float: left; margin-right: 2em"><p class="centerAlign"><img src="images/animatedimageitem.gif" alt="" /></p></div><p>The following QML shows how to display an animated image and obtain information about its state, such as the current frame and total number of frames. The result is an animated image with a simple progress indicator underneath it.</p>
<p><b>Note</b>: When animated images are cached, every frame of the animation will be cached.</p>
<p>Set cache to false if you are playing a long or large animation and you want to conserve memory.</p>
<p>If the image data comes from a sequential device (e.g&#x2e; a socket), <a href="qml-qtquick-animatedimage.html">AnimatedImage</a> can only loop if cache is set to true.</p>
<br style="clear: both" /><pre class="qml">

  import QtQuick 2.0

  <span class="type"><a href="qml-qtquick-rectangle.html">Rectangle</a></span> {
      <span class="name">width</span>: <span class="name">animation</span>.<span class="name">width</span>; <span class="name">height</span>: <span class="name">animation</span>.<span class="name">height</span> <span class="operator">+</span> <span class="number">8</span>

      <span class="type"><a href="qml-qtquick-animatedimage.html">AnimatedImage</a></span> { <span class="name">id</span>: <span class="name">animation</span>; <span class="name">source</span>: <span class="string">&quot;animation.gif&quot;</span> }

      <span class="type"><a href="qml-qtquick-rectangle.html">Rectangle</a></span> {
          property <span class="type"><a href="../qtqml/qml-int.html">int</a></span> <span class="name">frames</span>: <span class="name">animation</span>.<span class="name">frameCount</span>

          <span class="name">width</span>: <span class="number">4</span>; <span class="name">height</span>: <span class="number">8</span>
          <span class="name">x</span>: (<span class="name">animation</span>.<span class="name">width</span> <span class="operator">-</span> <span class="name">width</span>) <span class="operator">*</span> <span class="name">animation</span>.<span class="name">currentFrame</span> <span class="operator">/</span> <span class="name">frames</span>
          <span class="name">y</span>: <span class="name">animation</span>.<span class="name">height</span>
          <span class="name">color</span>: <span class="string">&quot;red&quot;</span>
      }
  }

</pre>
<p><b>请参考 </b><a href="qml-qtquick-borderimage.html">BorderImage</a> 和 <a href="qml-qtquick-image.html">Image</a>。</p>
<!-- @@@AnimatedImage -->
<h2>属性文档</h2>
<!-- $$$currentFrame -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="currentFrame-prop">
<td class="tblQmlPropNode"><p>
<a name="currentFrame-prop"></a><span class="name">currentFrame</span> : <span class="type"><a href="../qtqml/qml-int.html">int</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>currentFrame is the frame that is currently visible. By monitoring this property for changes, you can animate other items at the same time as the image.</p>
<p><a href="qml-qtquick-animatedimage.html#frameCount-prop">frameCount</a> is the number of frames in the animation. For some animation formats, <a href="qml-qtquick-animatedimage.html#frameCount-prop">frameCount</a> is unknown and has a value of zero.</p>
</div></div><!-- @@@currentFrame -->
<br/>
<!-- $$$frameCount -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="frameCount-prop">
<td class="tblQmlPropNode"><p>
<a name="frameCount-prop"></a><span class="name">frameCount</span> : <span class="type"><a href="../qtqml/qml-int.html">int</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p><a href="qml-qtquick-animatedimage.html#currentFrame-prop">currentFrame</a> is the frame that is currently visible. By monitoring this property for changes, you can animate other items at the same time as the image.</p>
<p>frameCount is the number of frames in the animation. For some animation formats, frameCount is unknown and has a value of zero.</p>
</div></div><!-- @@@frameCount -->
<br/>
<!-- $$$paused -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="paused-prop">
<td class="tblQmlPropNode"><p>
<a name="paused-prop"></a><span class="name">paused</span> : <span class="type"><a href="../qtqml/qml-bool.html">bool</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>This property holds whether the animated image is paused.</p>
<p>By default, this property is false. Set it to true when you want to pause the animation.</p>
</div></div><!-- @@@paused -->
<br/>
<!-- $$$playing -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="playing-prop">
<td class="tblQmlPropNode"><p>
<a name="playing-prop"></a><span class="name">playing</span> : <span class="type"><a href="../qtqml/qml-bool.html">bool</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>This property holds whether the animated image is playing.</p>
<p>By default, this property is true, meaning that the animation will start playing immediately.</p>
<p><b>Note</b>: this property is affected by changes to the actual playing state of <a href="qml-qtquick-animatedimage.html">AnimatedImage</a>. If non-animated images are used, <i>playing</i> will need to be manually set to <i>true</i> in order to animate following images.</p>
<pre class="qml">

  <span class="type"><a href="qml-qtquick-animatedimage.html">AnimatedImage</a></span> {
      <span class="name">onStatusChanged</span>: <span class="name">playing</span> <span class="operator">=</span> (<span class="name">status</span> <span class="operator">==</span> <span class="name">AnimatedImage</span>.<span class="name">Ready</span>)
  }

</pre>
</div></div><!-- @@@playing -->
<br/>
<!-- $$$source -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="source-prop">
<td class="tblQmlPropNode"><p>
<a name="source-prop"></a><span class="name">source</span> : <span class="type"><a href="../qtqml/qml-url.html">url</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>This property holds the URL that refers to the source image.</p>
<p><a href="qml-qtquick-animatedimage.html">AnimatedImage</a> can handle any image format supported by Qt, loaded from any URL scheme supported by Qt.</p>
<p><b>请参考 </b><a href="qquickimageprovider.html">QQuickImageProvider</a>。</p>
</div></div><!-- @@@source -->
<br/>
<!-- $$$speed -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
<tr valign="top" class="odd" id="speed-prop">
<td class="tblQmlPropNode"><p>
<a name="speed-prop"></a><span class="name">speed</span> : <span class="type"><a href="../qtqml/qml-real.html">real</a></span></p></td></tr>
</table></div>
</div><div class="qmldoc"><p>This property holds the speed of the animation.</p>
<p>The speed is measured in percentage of the original animated image speed. The default speed is 1.0 (original speed).</p>
<p>This property was introduced in  QtQuick 2.11.</p>
</div></div><!-- @@@speed -->
<br/>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2019 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
